[INFO] cloning repository https://github.com/nikomatsakis/perf-focus
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nikomatsakis/perf-focus" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikomatsakis%2Fperf-focus", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikomatsakis%2Fperf-focus'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7840f74fa34d6904a41c78a093de47096377837a
[INFO] building nikomatsakis/perf-focus against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnikomatsakis%2Fperf-focus" "/workspace/builds/worker-10/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/nikomatsakis/perf-focus on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/nikomatsakis/perf-focus
[INFO] finished tweaking git repo https://github.com/nikomatsakis/perf-focus
[INFO] tweaked toml for git repo https://github.com/nikomatsakis/perf-focus written to /workspace/builds/worker-10/source/Cargo.toml
[INFO] crate git repo https://github.com/nikomatsakis/perf-focus already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c83873b9f863a1f21b6d742927da312a1907f0cd2d19a18e65722631c88bf792
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "c83873b9f863a1f21b6d742927da312a1907f0cd2d19a18e65722631c88bf792", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c83873b9f863a1f21b6d742927da312a1907f0cd2d19a18e65722631c88bf792", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c83873b9f863a1f21b6d742927da312a1907f0cd2d19a18e65722631c88bf792", kill_on_drop: false }`
[INFO] [stdout] c83873b9f863a1f21b6d742927da312a1907f0cd2d19a18e65722631c88bf792
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] edcaa4f57f893abe85e31c1d2a25b51140395add498b3e6735f92248e1ea63c3
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "edcaa4f57f893abe85e31c1d2a25b51140395add498b3e6735f92248e1ea63c3", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling libc v0.2.29
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling regex-syntax v0.3.9
[INFO] [stderr]    Compiling ordermap v0.2.10
[INFO] [stderr]    Compiling either v1.4.0
[INFO] [stderr]    Compiling fixedbitset v0.1.7
[INFO] [stderr]    Compiling itertools v0.7.6
[INFO] [stderr]    Compiling petgraph v0.4.5
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling rusty-peg v0.4.0
[INFO] [stderr]    Compiling perf-focus v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/graph/mod.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         try!(write!(out, "digraph G {{\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/graph/mod.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         try!(write!(out, "  node [ shape=box ];"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/graph/mod.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             try!(write!(out, "  n{} -> n{} [label=\"{}%\"];\n",
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/graph/mod.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(out, "  n{} [label=\"{} ({}%)\"];\n",
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/graph/mod.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         try!(write!(out, "}}\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/graph/mod.rs:108:34
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn dump(&self, out: &mut Write) -> Result<()> {
[INFO] [stdout]     |                                  ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/mod.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |     object: Box<MatcherTrait>,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:155:35
[INFO] [stdout]     |
[INFO] [stdout] 155 |     fn clone_object(&self) -> Box<MatcherTrait>;
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:196:35
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:233:35
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:263:35
[INFO] [stdout]     |
[INFO] [stdout] 263 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:296:35
[INFO] [stdout]     |
[INFO] [stdout] 296 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:332:35
[INFO] [stdout]     |
[INFO] [stdout] 332 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:369:35
[INFO] [stdout]     |
[INFO] [stdout] 369 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:412:35
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:452:35
[INFO] [stdout]     |
[INFO] [stdout] 452 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/trace/mod.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn each_trace_impl<F>(stdin: &mut BufRead, mut callback: F) -> io::Result<()>
[INFO] [stdout]    |                                   ^^^^^^^ help: use `dyn`: `dyn BufRead`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:418:35
[INFO] [stdout]     |
[INFO] [stdout] 418 |     let mut file = BufWriter::new(try!(File::create(graph_file)));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/trace/mod.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |                         .intersperse(" ")
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `for_each_leaf`
[INFO] [stdout]   --> src/tree/mod.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn for_each_leaf<F>(&self, mut f: F)
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `for_each_leaf`
[INFO] [stdout]    --> src/tree/mod.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 197 |     fn for_each_leaf<F>(&self, f: &mut F)
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 29 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 10.29s
[INFO] running `Command { std: "docker" "inspect" "edcaa4f57f893abe85e31c1d2a25b51140395add498b3e6735f92248e1ea63c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "edcaa4f57f893abe85e31c1d2a25b51140395add498b3e6735f92248e1ea63c3", kill_on_drop: false }`
[INFO] [stdout] edcaa4f57f893abe85e31c1d2a25b51140395add498b3e6735f92248e1ea63c3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fe2722c65a65e72e50e487ff7536c4e08fe346c190cd0a89999de239226b051f
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "fe2722c65a65e72e50e487ff7536c4e08fe346c190cd0a89999de239226b051f", kill_on_drop: false }`
[INFO] [stderr]    Compiling perf-focus v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/graph/mod.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         try!(write!(out, "digraph G {{\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/graph/mod.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         try!(write!(out, "  node [ shape=box ];"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/graph/mod.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             try!(write!(out, "  n{} -> n{} [label=\"{}%\"];\n",
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/graph/mod.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(write!(out, "  n{} [label=\"{} ({}%)\"];\n",
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/graph/mod.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |         try!(write!(out, "}}\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/graph/mod.rs:108:34
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn dump(&self, out: &mut Write) -> Result<()> {
[INFO] [stdout]     |                                  ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/matcher/parser.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | / rusty_peg! {
[INFO] [stdout] 7  | |     parser Parser<'input> {
[INFO] [stdout] 8  | |         MATCHER: Matcher = (
[INFO] [stdout] 9  | |             MATCHER_COMMA_MATCHER /
[INFO] [stdout] ...  |
[INFO] [stdout] 53 | |     }
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/matcher/mod.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |     object: Box<MatcherTrait>,
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:155:35
[INFO] [stdout]     |
[INFO] [stdout] 155 |     fn clone_object(&self) -> Box<MatcherTrait>;
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:196:35
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:233:35
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:263:35
[INFO] [stdout]     |
[INFO] [stdout] 263 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:296:35
[INFO] [stdout]     |
[INFO] [stdout] 296 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:332:35
[INFO] [stdout]     |
[INFO] [stdout] 332 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:369:35
[INFO] [stdout]     |
[INFO] [stdout] 369 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:412:35
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/matcher/mod.rs:452:35
[INFO] [stdout]     |
[INFO] [stdout] 452 |     fn clone_object(&self) -> Box<MatcherTrait> {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: use `dyn`: `dyn MatcherTrait`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/trace/mod.rs:35:35
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn each_trace_impl<F>(stdin: &mut BufRead, mut callback: F) -> io::Result<()>
[INFO] [stdout]    |                                   ^^^^^^^ help: use `dyn`: `dyn BufRead`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:418:35
[INFO] [stdout]     |
[INFO] [stdout] 418 |     let mut file = BufWriter::new(try!(File::create(graph_file)));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `matcher::Matcher: matcher::MatcherTrait` is not satisfied
[INFO] [stdout]   --> src/matcher/test.rs:6:26
[INFO] [stdout]    |
[INFO] [stdout] 6  |     let m = Matcher::new(RegexMatcher::new("b"));
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^ the trait `matcher::MatcherTrait` is not implemented for `matcher::Matcher`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/matcher/mod.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn new<M: MatcherTrait + 'static>(m: M) -> Matcher {
[INFO] [stdout]    |               ------------ required by this bound in `matcher::Matcher::new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `prefix` on type `SearchResult`
[INFO] [stdout]  --> src/matcher/test.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 |     assert_eq!(r.prefix, &[format!("a")]);
[INFO] [stdout]   |                  ^^^^^^ unknown field
[INFO] [stdout]   |
[INFO] [stdout]   = note: available fields are: `first_matching_frame`, `first_callee_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `suffix` on type `SearchResult`
[INFO] [stdout]  --> src/matcher/test.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 |     assert_eq!(r.suffix, &[format!("c")]);
[INFO] [stdout]   |                  ^^^^^^ unknown field
[INFO] [stdout]   |
[INFO] [stdout]   = note: available fields are: `first_matching_frame`, `first_callee_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `matcher::Matcher: matcher::MatcherTrait` is not satisfied
[INFO] [stdout]   --> src/matcher/test.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 Matcher::new(RegexMatcher::new("b")),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^ the trait `matcher::MatcherTrait` is not implemented for `matcher::Matcher`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/matcher/mod.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn new<M: MatcherTrait + 'static>(m: M) -> Matcher {
[INFO] [stdout]    |               ------------ required by this bound in `matcher::Matcher::new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `matcher::Matcher: matcher::MatcherTrait` is not satisfied
[INFO] [stdout]   --> src/matcher/test.rs:19:30
[INFO] [stdout]    |
[INFO] [stdout] 19 |                 Matcher::new(RegexMatcher::new("c"))));
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^ the trait `matcher::MatcherTrait` is not implemented for `matcher::Matcher`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/matcher/mod.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn new<M: MatcherTrait + 'static>(m: M) -> Matcher {
[INFO] [stdout]    |               ------------ required by this bound in `matcher::Matcher::new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `matcher::Matcher: matcher::MatcherTrait` is not satisfied
[INFO] [stdout]   --> src/matcher/test.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | /             ThenMatcher::new(
[INFO] [stdout] 18 | |                 Matcher::new(RegexMatcher::new("b")),
[INFO] [stdout] 19 | |                 Matcher::new(RegexMatcher::new("c"))));
[INFO] [stdout]    | |_____________________________________________________^ the trait `matcher::MatcherTrait` is not implemented for `matcher::Matcher`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/matcher/mod.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |       fn new<M: MatcherTrait + 'static>(m: M) -> Matcher {
[INFO] [stdout]    |                 ------------ required by this bound in `matcher::Matcher::new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `prefix` on type `SearchResult`
[INFO] [stdout]   --> src/matcher/test.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 |     assert_eq!(r.prefix, &[format!("a")]);
[INFO] [stdout]    |                  ^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `first_matching_frame`, `first_callee_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `suffix` on type `SearchResult`
[INFO] [stdout]   --> src/matcher/test.rs:22:15
[INFO] [stdout]    |
[INFO] [stdout] 22 |     assert!(r.suffix.is_empty());
[INFO] [stdout]    |               ^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `first_matching_frame`, `first_callee_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `matcher::Matcher: matcher::MatcherTrait` is not satisfied
[INFO] [stdout]   --> src/matcher/test.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 Matcher::new(RegexMatcher::new("a")),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^ the trait `matcher::MatcherTrait` is not implemented for `matcher::Matcher`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/matcher/mod.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn new<M: MatcherTrait + 'static>(m: M) -> Matcher {
[INFO] [stdout]    |               ------------ required by this bound in `matcher::Matcher::new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `matcher::Matcher: matcher::MatcherTrait` is not satisfied
[INFO] [stdout]   --> src/matcher/test.rs:32:30
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 Matcher::new(RegexMatcher::new("c"))));
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^ the trait `matcher::MatcherTrait` is not implemented for `matcher::Matcher`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/matcher/mod.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn new<M: MatcherTrait + 'static>(m: M) -> Matcher {
[INFO] [stdout]    |               ------------ required by this bound in `matcher::Matcher::new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `matcher::Matcher: matcher::MatcherTrait` is not satisfied
[INFO] [stdout]   --> src/matcher/test.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 | /             ThenMatcher::new(
[INFO] [stdout] 31 | |                 Matcher::new(RegexMatcher::new("a")),
[INFO] [stdout] 32 | |                 Matcher::new(RegexMatcher::new("c"))));
[INFO] [stdout]    | |_____________________________________________________^ the trait `matcher::MatcherTrait` is not implemented for `matcher::Matcher`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/matcher/mod.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |       fn new<M: MatcherTrait + 'static>(m: M) -> Matcher {
[INFO] [stdout]    |                 ------------ required by this bound in `matcher::Matcher::new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `matcher::Matcher: matcher::MatcherTrait` is not satisfied
[INFO] [stdout]   --> src/matcher/test.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 Matcher::new(RegexMatcher::new("a")),
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^ the trait `matcher::MatcherTrait` is not implemented for `matcher::Matcher`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/matcher/mod.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn new<M: MatcherTrait + 'static>(m: M) -> Matcher {
[INFO] [stdout]    |               ------------ required by this bound in `matcher::Matcher::new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `matcher::Matcher: matcher::MatcherTrait` is not satisfied
[INFO] [stdout]   --> src/matcher/test.rs:43:34
[INFO] [stdout]    |
[INFO] [stdout] 43 |                     Matcher::new(RegexMatcher::new("c"))))));
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^ the trait `matcher::MatcherTrait` is not implemented for `matcher::Matcher`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/matcher/mod.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn new<M: MatcherTrait + 'static>(m: M) -> Matcher {
[INFO] [stdout]    |               ------------ required by this bound in `matcher::Matcher::new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `matcher::Matcher: matcher::MatcherTrait` is not satisfied
[INFO] [stdout]   --> src/matcher/test.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 |                   Matcher::new(SkipMatcher::new(
[INFO] [stdout]    |  ______________________________^
[INFO] [stdout] 43 | |                     Matcher::new(RegexMatcher::new("c"))))));
[INFO] [stdout]    | |_________________________________________________________^ the trait `matcher::MatcherTrait` is not implemented for `matcher::Matcher`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/matcher/mod.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |       fn new<M: MatcherTrait + 'static>(m: M) -> Matcher {
[INFO] [stdout]    |                 ------------ required by this bound in `matcher::Matcher::new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `matcher::Matcher: matcher::MatcherTrait` is not satisfied
[INFO] [stdout]   --> src/matcher/test.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 | /             ThenMatcher::new(
[INFO] [stdout] 41 | |                 Matcher::new(RegexMatcher::new("a")),
[INFO] [stdout] 42 | |                 Matcher::new(SkipMatcher::new(
[INFO] [stdout] 43 | |                     Matcher::new(RegexMatcher::new("c"))))));
[INFO] [stdout]    | |___________________________________________________________^ the trait `matcher::MatcherTrait` is not implemented for `matcher::Matcher`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/matcher/mod.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |       fn new<M: MatcherTrait + 'static>(m: M) -> Matcher {
[INFO] [stdout]    |                 ------------ required by this bound in `matcher::Matcher::new`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `prefix` on type `SearchResult`
[INFO] [stdout]   --> src/matcher/test.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 |              .unwrap().prefix.len() == 0);
[INFO] [stdout]    |                        ^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `first_matching_frame`, `first_callee_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `prefix` on type `SearchResult`
[INFO] [stdout]   --> src/matcher/test.rs:49:24
[INFO] [stdout]    |
[INFO] [stdout] 49 |              .unwrap().prefix.len() == 1);
[INFO] [stdout]    |                        ^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `first_matching_frame`, `first_callee_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `prefix` on type `SearchResult`
[INFO] [stdout]   --> src/matcher/test.rs:52:24
[INFO] [stdout]    |
[INFO] [stdout] 52 |              .unwrap().prefix.len() == 1);
[INFO] [stdout]    |                        ^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `first_matching_frame`, `first_callee_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `prefix` on type `SearchResult`
[INFO] [stdout]   --> src/matcher/test.rs:60:24
[INFO] [stdout]    |
[INFO] [stdout] 60 |              .unwrap().prefix.len() == 0);
[INFO] [stdout]    |                        ^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `first_matching_frame`, `first_callee_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `prefix` on type `SearchResult`
[INFO] [stdout]   --> src/matcher/test.rs:63:24
[INFO] [stdout]    |
[INFO] [stdout] 63 |              .unwrap().prefix.len() == 1);
[INFO] [stdout]    |                        ^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `first_matching_frame`, `first_callee_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `prefix` on type `SearchResult`
[INFO] [stdout]   --> src/matcher/test.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |              .unwrap().prefix.len() == 1);
[INFO] [stdout]    |                        ^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `first_matching_frame`, `first_callee_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `prefix` on type `SearchResult`
[INFO] [stdout]   --> src/matcher/test.rs:77:24
[INFO] [stdout]    |
[INFO] [stdout] 77 |              .unwrap().prefix.len() == 0);
[INFO] [stdout]    |                        ^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout]    = note: available fields are: `first_matching_frame`, `first_callee_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: an associated function with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/trace/mod.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |                         .intersperse(" ")
[INFO] [stdout]    |                          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> src/trace/test.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 |     each_trace(cursor, |frames| {
[INFO] [stdout]   |                ^^^^^^ expected `bool`, found struct `std::io::Cursor`
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected type `bool`
[INFO] [stdout]            found struct `std::io::Cursor<&[u8]>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `len` found for struct `TraceArgs<'_>` in the current scope
[INFO] [stdout]  --> src/trace/test.rs:9:34
[INFO] [stdout]   |
[INFO] [stdout] 9 |         frame_counts.push(frames.len());
[INFO] [stdout]   |                                  ^^^ method not found in `TraceArgs<'_>`
[INFO] [stdout]   | 
[INFO] [stdout]  ::: src/trace/mod.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct TraceArgs<'a> {
[INFO] [stdout]   | ------------------------ method `len` not found for this
[INFO] [stdout]   |
[INFO] [stdout]   = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]   = note: the following traits define an item `len`, perhaps you need to implement one of them:
[INFO] [stdout]           candidate #1: `ExactSizeIterator`
[INFO] [stdout]           candidate #2: `regex::internal::Input`
[INFO] [stdout]           candidate #3: `aho_corasick::autiter::Automaton`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 24 previous errors; 27 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `perf-focus`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "fe2722c65a65e72e50e487ff7536c4e08fe346c190cd0a89999de239226b051f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe2722c65a65e72e50e487ff7536c4e08fe346c190cd0a89999de239226b051f", kill_on_drop: false }`
[INFO] [stdout] fe2722c65a65e72e50e487ff7536c4e08fe346c190cd0a89999de239226b051f
